<script setup>
import { onBeforeMount, onMounted,onUpdated, onBeforeUnmount, onUnmounted } from "vue";
import { getDeviceStatus } from '@api/index.js'
const props = defineProps({
  msg: {
    type: String,
    default: () => {
      return ""
    }
  }
})
const emit = defineEmits(['childEvent'])

const handleConfirm = () => {
  console.log('点击事件触发，开始发送信息');
  emit('childEvent', '我是子组件传递给父组件的数据')
}

const getDeviceStatusc = () => {
  let params = {
    type: 0
  }
  getDeviceStatus(params).then(res => {
    console.log('设备状态', res);
  }).catch(err => {
    console.error(err)
  })
}

onBeforeMount(() => {
  // 在组件挂载之前发起接口请求，获取初始化数据
  // 例如，通过axios或fetch调用接口
  getDeviceStatusc()
});

onMounted(() => {
  // 在组件被挂载到DOM后执行的操作
  // 可以对接口数据进行操作或者初始化界面
});

onUpdated(() => {
  // 当数据更新后执行的操作
  // 例如，监视数据的变化并根据需要更新界面
});

onBeforeUnmount(() => {
  console.log("组件卸载之前");
  // 用于资源清理和取消操作，包括清除定时器
  // clearInterval(timer.value);
});

onUnmounted(() => {
});

</script>

<template>
  <h1>{{ props.msg }}</h1>
  <br>
  <button @click="handleConfirm">子传父</button>
</template>

<style scoped lang="scss"></style>
